Commit Graph

282 Commits

Author SHA1 Message Date
Charles Kerr 0fd817b757 (trunk libT) more assertions to help find the cause of #2480 2009-10-10 17:37:34 +00:00
Charles Kerr cb79214854 (trunk) remove trailing spaces 2009-08-10 20:04:08 +00:00
Charles Kerr 55cd3a8367 (trunk libT) back out r8765. xref: http://trac.transmissionbt.com/ticket/2253#comment:13 2009-07-18 01:09:56 +00:00
Charles Kerr 5f9c5b553c maybe 1024 is too stringent here 2009-07-07 01:18:53 +00:00
Charles Kerr d6ed808f9c (trunk, libT) #2253: I love you, valgrind pt 3 2009-07-01 00:46:30 +00:00
Charles Kerr db5b508ca6 (trunk libT) I love you, massif 2009-06-25 04:02:07 +00:00
Charles Kerr 8fa568d20b (trunk libT) lessen evbuffer memory bloat when we have a lot of simultaneous peers 2009-06-03 22:52:08 +00:00
Charles Kerr 9513fcbe66 (trunk libT) add a bunch of comments denoting where the libevent 2.0 changes will go 2009-06-02 18:21:23 +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 fb587a5b30 (trunk libT) make sure that outbound protocol messages don't get blocked by bandwidth limits 2009-04-21 16:18:51 +00:00
Charles Kerr a2b53f5cbd (trunk libT) more speed tweaks from valgrind 2009-04-12 14:52:17 +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 adc6791de3 (trunk libT) add more assertions to ensure that the libevent calls are all being made from the same thread 2009-01-28 19:35:39 +00:00
Charles Kerr 8c9d5359b5 (trunk libT) add more assertions to make Biiaru crash more^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^Hhelp track down the cause of Biiaru's crashes 2009-01-26 02:51:50 +00:00
Charles Kerr 6d6a76d48a (trunk libT) more of the same 2009-01-24 17:37:28 +00:00
Charles Kerr 5812b9f05b (trunk libT) more debugging messages 2009-01-24 17:20:07 +00:00
Charles Kerr dd00672517 (trunk libT) more experimental code for Biiaru 2009-01-24 16:21:34 +00:00
Charles Kerr 40f3c725d7 (trunk libT) experimental commit that will *possibly* fix the "assert( tr_isPeerIo( io ) )" crash reported by Biiaru and others 2009-01-24 14:49:35 +00:00
Charles Kerr 7f82b7172c (trunk libT) don't limit peer bandwidth during the handshake phase. this solves a bug that made it difficult to connect to peers when the upload bandwidth is saturated. 2009-01-24 03:17:59 +00:00
Charles Kerr b6c73370e3 (trunk libT) #1734: encrypted peers' outgoing RC4 stream can be corrupted by sending protocol messages out-of-order 2009-01-22 14:32:29 +00:00
Charles Kerr 1375c707ed (trunk libT) fix uninitialized variable in bandwidth code 2009-01-20 02:43:21 +00:00
Charles Kerr 4d228289ce (trunk libT) prefer `int' over `ssize_t' 2009-01-19 14:05:43 +00:00
Charles Kerr 69f59b423a (trunk libT) possible fix for the `few peers' errors reported on OS X. denis_, merlyn3d, give this a spin... 2009-01-19 13:55:41 +00:00
Charles Kerr d95a45b701 (trunk libT) fix IPv6 reported & solved by erdgeist. add debugging message to help track down any future problems. 2009-01-16 23:17:31 +00:00
Charles Kerr fe816d8135 (trunk) update the GPL code's copyright dates 2009-01-10 23:09:07 +00:00
Charles Kerr c6a454d2e2 (trunk libT) win32 portability fixes, reported by Alexey 2009-01-10 02:22:13 +00:00
Charles Kerr 98420365e9 (trunk libT) remove a small number of redundant or unnecessary asserts 2009-01-08 04:43:00 +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 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 2b38f6f81a (trunk libT) don't use void* when doing pointer math. 2009-01-04 04:37:26 +00:00
Charles Kerr 7fcad8a45b (trunk libT) fix r7594 typo 2009-01-03 05:07:45 +00:00
Charles Kerr 5afd327b15 (trunk libT) use ssize_t where appropriate in tr_peerIoFlush() 2009-01-03 04:57:40 +00:00
Charles Kerr 1e77d1313e (trunk libT) oh ffs 2009-01-03 03:58:35 +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 73f500e5be (trunk libT) inline parts of peer-io and bandwidth, too 2009-01-02 17:46:22 +00:00
Charles Kerr d6b4db4a78 (trunk libT) add "inline" hint to several one-liner functions 2009-01-02 06:28:22 +00:00
Charles Kerr 0cd572a0da (trunk libT) make tr_isAddress() and tr_isDirection() inline 2009-01-02 04:47:37 +00:00
Charles Kerr f2d9179b64 (trunk libT) #1632: bandwidth.c: 428: tr_bandwidthUsed: Assertion `tr_isBandwidth( b )' failed 2008-12-30 03:45:12 +00:00
Charles Kerr 1c71e622e1 (trunk libT) minor cleanup: use symbolic name instead of magic numbers; use tr_bool instead of int 2008-12-30 02:43:51 +00:00
Charles Kerr 798bac0fcb (trunk libT) omit unnecessary malloc/free calls in peer-io 2008-12-29 19:01:47 +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 82d349d221 (trunk libT) fix minor r7474 issue 2008-12-23 17:23:07 +00:00
Charles Kerr c4e11a12e3 (trunk libT) socket performance tweak by wereHamster 2008-12-23 17:11:31 +00:00
Charles Kerr 5d1c109fc4 (trunk libT) speed improvments from wereHamster 2008-12-22 19:16:06 +00:00
Charles Kerr 1310fea91e (trunk libT) peer-io.c: remove dead code and get rid of a couple of GOTOs 2008-12-22 04:55:07 +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
Charles Kerr 8556ce653f (trunk libT) comments, tr_bool correctness, better runtime tests. 2008-12-21 18:15:00 +00:00
Charles Kerr cb5d259f21 (trunk libT) fix an r7441 function pointer error reported by fulgas in #transmission 2008-12-21 00:05:54 +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 53b730420f another test commit for vraa.. this is just an experiment; probably eats a lot of memory 2008-12-18 03:27:07 +00:00
Charles Kerr 3a61b0c6eb (trunk libT) tweak the new peer IO code a bit to handle EINPROGRESS 2008-12-17 13:29:03 +00:00
Charles Kerr a94e104040 (trunk libT) really fuck up the peer i/o code. also this breaks the mac build until someone removes iobuf.c from libtransmission's list of files. 2008-12-16 22:08:17 +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 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 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 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 ca433d44ae (libT) make peer-io's output buffer size more flexible based on the peer's speed 2008-11-28 16:00:29 +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 645610f995 (libT) fix cut and paste bug. I think this is the crash everyone in #transmission is chiming in about. 2008-11-26 02:56:04 +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 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 853a67fbfc (libT) define peer connections' sockets' so_sndbuf size in the tr_session struct. 2008-11-21 16:32:55 +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 42fe27c067 more fucking around with the speed measurements. 2008-11-08 02:49:04 +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 c0192934b8 (libT) fix unlimited-upload-speed bug reported by Gimp_ and Lacrocivious 2008-10-30 03:41:45 +00:00
Charles Kerr 06939cafa6 (libT) low-hanging fruit discovered from softwareelves' shark profile. 2008-10-26 15:39:04 +00:00
Charles Kerr b5c2f14387 (libT) dead code removal 2008-10-14 20:44:41 +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 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 4fe1e1dae3 first draft at having more accurate speed controls 2008-09-17 19:44:24 +00:00
Charles Kerr 6937164c93 back out the changes from r6415. 2008-08-08 22:44:32 +00:00
Charles Kerr b860119cd3 minor text cleanup 2008-08-01 16:43:22 +00:00
Charles Kerr 28db5be802 #1123: unreachable peers need to be handled better 2008-07-29 00:52:02 +00:00
Charles Kerr 2f239319b0 add a portability wrapper ``tr_snprintf()'' around snprintf() 2008-07-15 17:16:57 +00:00
Charles Kerr fd06d85aee part 1 of Aloisius' performance patch 2008-06-27 02:42:44 +00:00
Charles Kerr ba8a03024c shave 16 bytes off sizeof(tr_peerIo) 2008-05-23 18:56:42 +00:00
Charles Kerr c20b9a6df4 experimental speed tweaks:
(1) increase the per-peer read buffer to the size of a block message
(2) pulse the peers more often
(3) reduce the tracker delay on startup
2008-05-01 19:31:58 +00:00
Charles Kerr 57c7fcb507 #857: DSCP support for Transmission 2008-04-12 00:29:49 +00:00
Charles Kerr 6c6228770c fix byte ordering of the port in tr_peerIoAddrStr() 2008-01-17 00:08:40 +00:00
Charles Kerr fe9cabbe4b fix r4608 oops 2008-01-11 02:40:32 +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 939f1541c6 mingw portability fixes: libtransmission #includes 2008-01-10 19:52:56 +00:00
Charles Kerr ce6c33b7bf set copyright info to 2008 2008-01-01 17:20:20 +00:00
Charles Kerr 10b6e8ff8f lessons learned from 0.82:
* if we can't bind a socket to a peer, take that peer out of the retry pool.
* also, try to connect with more peers up-front.
2007-12-15 04:26:31 +00:00
Charles Kerr abef433926 improve upload speeds when the speed limits are uncapped. 2007-12-01 23:08:34 +00:00
Charles Kerr aa11440755 *maybe* fix the crash reported by pea_ in the forums and by Gimp in http://pastebin.ca/777952 2007-11-19 04:44:14 +00:00
Charles Kerr a277382578 more download speed tweaks for situations where T is both uploading and downloading. 2007-11-18 04:24:17 +00:00
Charles Kerr e371009606 this should improve download speeds. test it! 2007-11-18 03:18:26 +00:00
Charles Kerr 54a2bb978b fix timeout error that caused us to drop connections prematurely 2007-11-17 17:49:30 +00:00
Charles Kerr 77d58126f4 remove yet more dead code 2007-11-17 02:47:47 +00:00
Charles Kerr 135da6efca tweaking the speed limit settings a little more 2007-11-17 00:30:36 +00:00
Charles Kerr 8d08db716d speed limit code cleanup 2007-11-17 00:16:26 +00:00
Charles Kerr cc728b0470 progress on the "speed limits kill my transfer rate" bug. 2007-11-16 21:58:11 +00:00
Charles Kerr 521d32af9d tweak the libevent read buffer size 2007-11-16 21:47:55 +00:00
Charles Kerr 0ac302b302 progress on the "speed limits kill my transfer rate" bug. 2007-11-16 20:40:03 +00:00
Charles Kerr 807eff8416 remove dead code. 2007-11-15 22:03:22 +00:00
Charles Kerr a048204380 remove dead code. 2007-11-15 16:43:46 +00:00
Charles Kerr fd430fde90 undoing the r3773-r3774 experiment. 2007-11-09 20:07:52 +00:00
Charles Kerr 67b719c2de on Darwin, use NSCParameterAssert() instead of assert(). 2007-11-09 19:50:40 +00:00
Charles Kerr 5da8a977c6 * add O_LARGEFILE support to fdlimit for the benefit of 32-bit posix machines
* minor tweaks
2007-11-09 04:32:19 +00:00
Charles Kerr 39f9f14751 minor tweaks. 2007-11-08 21:25:17 +00:00
Charles Kerr 71f4efcbad update our #includes now that libevent has cleaned up event.h 2007-11-07 18:26:19 +00:00
Charles Kerr 317705cffc The OpenBSD build fix caused a Darwin build error. :) Thanks to pea for reporting. 2007-10-25 14:34:20 +00:00
Charles Kerr 8c0e2434f5 fix OpenBSD build error. 2007-10-25 13:59:46 +00:00
Charles Kerr b704654275 dead code removal. 2007-10-22 23:27:47 +00:00
Charles Kerr 3b2ef1054f 8 second timeout during handshake, 2.5 minute handshake afterwards 2007-10-11 03:54:33 +00:00
Charles Kerr ef4ec75532 Try out some of SoftwareElves' suggestions for faster startup connections 2007-10-11 02:50:05 +00:00
Charles Kerr cdabb1c0b1 clean up the shutdown code a little bit. 2007-10-02 16:12:44 +00:00
Charles Kerr f237bf7047 * simplify the the choking intervals
* fix peer-mgr destructor bug
* send debugging messagese to TR_DEBUG_FD instead of the console
2007-10-02 14:35:02 +00:00
Charles Kerr 6ed2d25af7 threads. gotta love 'em. 2007-10-02 02:59:07 +00:00
Charles Kerr 75ff12faba don't log BT protocol messages in UL/DL speed -- only log piece data transfers. 2007-10-01 16:31:17 +00:00
Charles Kerr 56738f065c fix some memory issues. 2007-10-01 04:12:24 +00:00
Charles Kerr 7cc6771318 experimental better peer management. 2007-09-30 23:55:49 +00:00
Charles Kerr 79973a8a93 commit the next step of tiennou's fastpeers code. 2007-09-28 16:40:21 +00:00
Charles Kerr 7ccab9de2c peer i/o cleanup 2007-09-26 14:42:03 +00:00
Charles Kerr fef89a3bc7 * record the ports of incoming sockets. we might need them later if we want to disconnect and reconnect.
* for portability, use libevent API for some socket upkeep
2007-09-25 23:10:34 +00:00
Charles Kerr d8d46517b9 fix a couple of encryption bugs. 2007-09-22 21:48:02 +00:00
Charles Kerr e9ed5e28d9 * accept tiennou's partial patch for `fast peers' extension
* fix growl problem I introduced in the last checkin, reported by chrissturm
2007-09-21 14:50:29 +00:00
Mitchell Livingston 76da1185ca merge encryption branch to trunk (xcode project is still out of date) 2007-09-20 16:32:01 +00:00