Commit Graph

257 Commits

Author SHA1 Message Date
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 6d21e557f5 (trunk libT) fix r7610 bug reported by BentMyWookie 2009-01-04 16:48:31 +00:00
Charles Kerr 51e68d6e56 (trunk libT) new peer request fifo queue with log(N) search time. new unit tests for the queue. new utility tr_lowerBound() 2009-01-04 16:29:44 +00:00
Charles Kerr 8690d83ba4 (trunk libT) minor improvement to testing to see if two requests are equal 2009-01-04 02:49:30 +00:00
Charles Kerr 49f46dcddb (trunk libT) revert r7548, which broke very low speed download limits.. the simplified peer-msgs parsing didn't distinguish between piece & raw data until the piece was done downloading. 2009-01-02 23:28:57 +00:00
Charles Kerr 86d3e70121 (trunk libT) avoid some unnecessary memory fragmentation... for composited objects that have a tr_ratecontrol, contain the it directly rather than a pointer to one allocated elsewhere on the heap. 2009-01-02 20:42:35 +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 d6b4db4a78 (trunk libT) add "inline" hint to several one-liner functions 2009-01-02 06:28:22 +00:00
Charles Kerr e5fc032d9c (trunk libT) Remove unused field: struct tr_peermsgs::peerSentBitfield 2009-01-01 18:35:21 +00:00
Charles Kerr ad69a937ef (trunk libT) have a pool of reusable evbuffers 2008-12-30 20:32:00 +00:00
Charles Kerr 53b25c7b49 (trunk libT) patch from wereHamster to simplify BT message parsing 2008-12-30 19:44:49 +00:00
Charles Kerr 56d04f76ad (trunk libT) use a static buffer for fillOutputBuffer() 2008-12-30 08:25:39 +00:00
Charles Kerr 640c952ce8 (trunk libT) fix r7535 bug reported by Rolcol 2008-12-30 02:42:45 +00:00
Charles Kerr f761311018 (trunk libT) avoid a few more unnecessary malloc() + free() pairs 2008-12-30 00:56:10 +00:00
Charles Kerr c52d9fedab (trunk libT) avoid some unnecessary memory fragmentation... for composited objects that have a tr_publisher, contain the it directly rather than a pointer to one allocated elsewhere on the heap. 2008-12-29 18:10:07 +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 2b0ece7614 (trunk libT) remove tr_peermsgs.minActiveRequests based on wereHamster's feedback 2008-12-21 18:31:28 +00:00
Charles Kerr fefa352b11 (trunk libT) remove unused PEER_PULSE_INTERVAL 2008-12-21 17:51:46 +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 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 718c1caa96 (trunk libT) #1565: give the peer requests a higher send priority. thanks to jusid for testing and sleuthing above & beyond the call of duty 2008-12-08 20:36:36 +00:00
Charles Kerr 81e636ad89 (libT) #1577: honor the peer's BEP 10 reqq key, if they provide it. 2008-12-08 20:23:10 +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 eb90a55608 (libT) #1562: 1.40 sends unnecessary `cancel' messages when choked 2008-12-05 01:12:55 +00:00
Charles Kerr 81c9bc0371 (libt) #1554: EPROTO (in peer-msgs.c) not defined on Windows 2008-12-03 13:21:41 +00:00
Charles Kerr d4ee0d714a (libT) #1379: support "partial seeds" BEP 22 2008-12-02 19:46:51 +00:00
Charles Kerr 341b40f192 libT) fix another r7234 bug reported by John_Clay 2008-12-02 19:38:46 +00:00
Charles Kerr c414377c1a (libT) fix r7234 bug reported by John_Clay 2008-12-02 19:06:08 +00:00
Charles Kerr 9d39ed2540 (libT) misc cleanup 2008-12-02 18:24:26 +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
Mitchell Livingston c2b6fde6dd #1548 Peers rapidly connect and reconnect after removing fast support. 2008-12-02 00:37:10 +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 a588eaddc8 (libT) fix a small pex memory leak 2008-12-01 05:57:59 +00:00
Charles Kerr 37414ea274 (libT) fix memory leak introduced in r7186 2008-12-01 05:56:39 +00:00
Charles Kerr f4f908be92 (libT) #1542: SIGSEGV in tr_publisherPublish 2008-11-30 21:36:49 +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 7fee78a697 (libT) re-enable lazy bitfields 2008-11-29 19:16:31 +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 b46375fd8c (libT) #1527: don't send pex messages if we don't have any new information to send 2008-11-28 05:48:17 +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