Commit Graph

294 Commits

Author SHA1 Message Date
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
Charles Kerr 0bcff74d52 minor code cleanup 2008-11-23 16:30:09 +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 97e4efaa4d (libT) #1474: lazy bitfields don't work quite right in 1.40 2008-11-16 08:56:18 +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 8e4fa83c77 update NEWS 2008-11-06 02:56:51 +00:00
Charles Kerr a4bee061be (libT) eliminate some duplicate calls to time(NULL) that showed a spike on vraa & softwareelves' shark profiles 2008-10-27 04:12:42 +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 b04be5fb2e make MAX_PATH_LENGTH private to libtransmission. add tr_dirname() and tr_basename() utility / portability wrappers 2008-10-14 03:39:16 +00:00
Charles Kerr 88ce8a5c44 more changes inspired by spry's `winport' code: for portability, use the standard __VA_ARGS__ macro for variadic macros instead of the CPP extensions. 2008-10-13 22:45:05 +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 7566be5348 #1302: Uploading file deletion is ignored 2008-10-10 03:04:46 +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 38d265d9f0 (libT) possible fix for #1305: Transmission losing data - Session Transfer significantly higher than actual download 2008-10-08 03:58:21 +00:00
Charles Kerr 4fab4c9e9b (libT) finish killing tr_errno. 2008-10-03 04:49:06 +00:00
Charles Kerr f9345da6ae (libT) eliminating tr_errno, part 2: don't use it in reqListPop() or reqListRemove() 2008-10-02 20:55:05 +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 4fe1e1dae3 first draft at having more accurate speed controls 2008-09-17 19:44:24 +00:00
Charles Kerr abd4b506e2 fix a confusing extraneous line in the previous commit 2008-08-27 18:56:36 +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
Mukund Sivaraman 75d2e74a64 Use stricter type for enums 2008-08-22 16:13:52 +00:00
Charles Kerr f8d38a180e according to vraa's profiling, the highest CPU hit other than encryption is in peerPulse(). do we really need to call it every 50 msec? change the peerPulse() interval to 250 msec. 2008-08-22 15:15:02 +00:00
Charles Kerr ef68e36a0d (libT) more dead code removal: tr_compareUint32(), tr_compareUint64(), tr_strcmp(), tr_strcasecmp() 2008-08-22 14:52:20 +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 1105dc0038 (libT) remove some dead functions: tr_calloc(), tr_compareUint16(), tr_compareUint32() 2008-08-21 19:03:56 +00:00
Charles Kerr dcecf09d96 bencode cleanup: remove unused functions and unnecessary #includes 2008-08-21 14:57:59 +00:00
Charles Kerr 3b7499a79b make tr_bencDictFindType() private. 2008-08-20 18:42:45 +00:00
Mukund Sivaraman ed7685dd1a Make tr_bitfieldHas() a macro 2008-08-20 13:45:52 +00:00
Charles Kerr d06f101e57 #220: lazy bitfields 2008-08-16 21:06:57 +00:00
Charles Kerr 94ac86bec6 (libT) route all outbound peer protocol messages through the outMessages buffer, to ensure that they're sent in sequence. previously the outbound pex message wasn't queued in this way. 2008-08-16 05:11:28 +00:00
Charles Kerr d7ab0d8a15 possible quick-fix for the "wasted data due to collisions" bug reported in http://forum.transmissionbt.com/viewtopic.php?f=3&t=5643. surely it's not this easy, but let's see 2008-08-14 20:17:55 +00:00
Charles Kerr c75c512ff1 readability improvments #1, #2, #3, #4. (muks) 2008-08-12 13:51:11 +00:00
Charles Kerr 51aff87443 lots of C correctness tweaks suggested by sparse/cgcc 2008-08-11 19:05:02 +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 b860119cd3 minor text cleanup 2008-08-01 16:43:22 +00:00
Charles Kerr 96ae464283 rename `pulse' as peerPulse() and trackerPulse() to make backtraces easier to read 2008-07-28 19:47:16 +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 43b99f425a (libT) fix minor PEX memory leak reported by valgrind 2008-07-18 19:50:38 +00:00
Charles Kerr fd06d85aee part 1 of Aloisius' performance patch 2008-06-27 02:42:44 +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 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 5141a65d45 experimental message batcher as discussed in http://forum.transmissionbt.com/viewtopic.php?p=24251#24251 2008-05-31 00:16:26 +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 53d8574b11 * change tr_stat.activityDate's and tr_stat.startedDate's type to time_t, since that's how everyone uses them anyway
* add a little more documentation to tr_stat and tr_ctor in transmission.h
2008-05-23 20:04:41 +00:00
Charles Kerr d18fb68fbc sine we now have two public ports (peer and rpc), rename "publicPort" as "peerPort" 2008-05-23 16:18:58 +00:00
Charles Kerr 2c79888a93 RPC/IPC redesign 2008-05-18 16:44:30 +00:00
Charles Kerr be9427931a ipc: add session accessor/mutators.
transmission.h: make the session API more consistent.
2008-05-12 16:33:17 +00:00
Mitchell Livingston 85e66062eb remove unused variables 2008-05-05 04:17:52 +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 a443cc3289 add #include <limits.h> to pick up a definition of INT_MAX to make Hudson happy 2008-04-19 19:39:39 +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 ac921e0f82 #881: undo r5631 2008-04-18 00:02:04 +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 62709b7ca2 #881: follow the transmission spec wrt extension handshake message timing 2008-04-17 02:11:29 +00:00
Charles Kerr 8a8b1fedb0 #870: follow PEX conventions agreed upon by Azureus and uTorrent 2008-04-12 23:01:40 +00:00
Charles Kerr fc091499cb translators shouldn't have to translate debug messages 2008-04-06 00:38:18 +00:00
Charles Kerr fd0e71c00a hack on IPC a bit because it's been too long since I broke it 2008-04-03 21:38:32 +00:00