Commit Graph

750 Commits

Author SHA1 Message Date
Charles Kerr 7cc6771318 experimental better peer management. 2007-09-30 23:55:49 +00:00
Mitchell Livingston 3e87e07e0c add bitlet to client id's 2007-09-30 13:16:18 +00:00
Charles Kerr 4c990b2a7d fix tracker crash reported by bmw 2007-09-29 15:05:20 +00:00
Charles Kerr dad333ceec more work on the locks 2007-09-29 14:55:30 +00:00
Charles Kerr b3d6391413 test to see if the new locking code can fix the old `stop' bug 2007-09-29 14:25:52 +00:00
Charles Kerr 8a40a15b16 more work on the peer-mgr locks 2007-09-29 14:19:23 +00:00
Charles Kerr 64239a21e1 prevent a deadlock via the handshake code 2007-09-29 13:47:15 +00:00
Charles Kerr 0812087a4e add mutex locks for thread safety. 2007-09-29 06:37:03 +00:00
Charles Kerr 04f6847004 take out the `thawing out' console messages 2007-09-29 00:47:33 +00:00
Charles Kerr 3f1d888354 improved uTorrent handshaking, after talking to #utorrent-dev about minutae... 2007-09-29 00:46:41 +00:00
Charles Kerr 79973a8a93 commit the next step of tiennou's fastpeers code. 2007-09-28 16:40:21 +00:00
Charles Kerr 198d2c256e fix John_Clay's tracker assertion failure. 2007-09-28 16:14:19 +00:00
Charles Kerr 92923a0236 remove obsolete MAX_PEERS in internal.h 2007-09-28 16:00:43 +00:00
Charles Kerr d9af0ff829 add more assertion tests to try to hunt down the tracker.c bug reported by John_Clay 2007-09-28 15:05:42 +00:00
Charles Kerr f0c9f9a99a add a callback to notify clients when a torrent's state changes 2007-09-28 14:51:34 +00:00
Charles Kerr c28a94d04c fix a couple of memory corruption errors while trying to track down tiennou's report on peer-msgs.c:pulse() -> inout.c:163 assertion failure. 2007-09-28 14:27:56 +00:00
Charles Kerr 2ae95a4096 fix win32 initialization bug reported by |ub0 2007-09-27 17:25:27 +00:00
Charles Kerr 1c1ef83a65 better support of the MSE protocol w.r.t. PadC and PadD 2007-09-27 14:43:33 +00:00
Charles Kerr d3077bbce1 round 2 of minor revisions to tr_stat 2007-09-27 03:30:22 +00:00
Charles Kerr 439c1f38c1 some experimental code. (1) try to improve throughput to peers. (2) add first draft of new tr_stat fields requested by BentMyWookie (3) raise the per-torrent peer limit to 100 to match LibTorrent's defaults 2007-09-27 03:03:38 +00:00
Charles Kerr d386617da2 only send a peer keepalive messages when we're not sending them anything else 2007-09-26 17:34:33 +00:00
Charles Kerr 773fa8f1f6 for every connected peer, send a keepalive message every 90 seconds 2007-09-26 15:14:37 +00:00
Charles Kerr 7ccab9de2c peer i/o cleanup 2007-09-26 14:42:03 +00:00
Charles Kerr 682be6b12e don't bother remembering peers that hang up on us.
don't bother remembering peers that are seeds when we're seeding.
2007-09-26 04:44:54 +00:00
Charles Kerr f20358927b lots of handshake fixes. incoming connections work now, both encrypted & plaintext. yay! 2007-09-26 03:52:30 +00:00
Charles Kerr b63a505c6d fix a handshake bug and reduce the idle cpu load a little. 2007-09-26 02:29:49 +00:00
Charles Kerr ee6a0b8945 modify the tr_stat struct as hashed out by charles_ and BentMyWookie. sync gtk, ipc, and wx clients. 2007-09-26 01:55:04 +00:00
Charles Kerr c6fdad0514 accept erdgeist's suggestion of using ensureMinimumFileSize() only on WIN32 -- on posix, seek+write is enough. 2007-09-25 23:21:00 +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 904359a049 * fix oops from last checkin
* remove some unused fields from internal structures
2007-09-25 22:37:23 +00:00
Charles Kerr 73522af17c fix peer-msgs.c assertion failure. (tbo) 2007-09-25 22:30:41 +00:00
Charles Kerr 7a15abaf7a better handling of tracker error messages. 2007-09-25 18:39:58 +00:00
Charles Kerr dcfe4f9802 if we connect to a peer that understands the encryption handshake, try harder to continue the connection in encrypted mode. 2007-09-25 17:56:46 +00:00
Charles Kerr 5aecf680f0 when a peer tells us that it's switched listening ports, remember the new port for the next time we connect. 2007-09-25 17:44:50 +00:00
Charles Kerr dd8dc4d87e tweak the bitfield code to be a little faster. 2007-09-25 17:43:39 +00:00
Charles Kerr 1d1a23508b * follow the BT spec more closely by disallowing peers to request blocks of more than 16KiB from us.
* don't register the choke and connection timers for torrents that aren't running.  It doesn't hurt anything but does waste a few cycles.
2007-09-25 00:04:29 +00:00
Charles Kerr 6c8d9d42d3 fixed tracker bug reported by TooMuchTime of OiNK fame 2007-09-24 20:27:20 +00:00
Charles Kerr 7caf9550df shut up some more console messages 2007-09-24 19:12:52 +00:00
Charles Kerr dd6f87a5eb fix race condition in the torrent rechecker. 2007-09-24 17:47:15 +00:00
Charles Kerr 6897fe4327 plug some minor memory leaks. (valgrind) 2007-09-24 15:50:59 +00:00
Charles Kerr b402687c93 * add sanity checks to incoming piece data requests. This may solve the inout.c:99 assertion failure.
* rename the gtk client from `transmission-gtk' to `transmission' for parity with the mac client.
2007-09-23 23:38:39 +00:00
Charles Kerr 4834dc4b13 fix crash-on-shutdown 2007-09-23 19:24:06 +00:00
Charles Kerr b3fde0b43b tweak responsivenes on switching between `uploading' and `downloading' when a user changes a file's do-not-download state 2007-09-23 14:17:39 +00:00
Charles Kerr d27c9c5034 * update tor->activityDate whenever piece data is transferred. 2007-09-23 14:12:17 +00:00
Charles Kerr 89da2294b1 * when a torrent's done downloading, have it switch to seeding mode.
* tweak the gtk+ client's torrent inspector's display of transfer rates
2007-09-23 13:53:44 +00:00
Charles Kerr 968868debe fix bug that tended to disconnect from valid peers when we were seeding. also, follow the BT spec's terminology a little closer. 2007-09-23 02:19:59 +00:00
Charles Kerr 7a54e88d4e fix bug #342 -- some hash checks were incorrectly failing, which caused the `bytes downloaded' field to appear to jump back and forth 2007-09-23 02:11:53 +00:00
Charles Kerr d8d46517b9 fix a couple of encryption bugs. 2007-09-22 21:48:02 +00:00
Charles Kerr 3c73a86595 tweak some more. follow BentMyWookie's suggestion for raising the connection limits. 2007-09-22 14:42:15 +00:00
Charles Kerr a33a033b9b tweak the peer mgr 2007-09-22 14:32:02 +00:00