Commit Graph

899 Commits

Author SHA1 Message Date
Charles Kerr fa200efd09 more tweaks 2007-10-16 03:14:07 +00:00
Charles Kerr c9359d8bde There are only 16 days left for something to replace this as October's stupidest bug. 2007-10-16 03:00:53 +00:00
Charles Kerr ec30180d76 tweak the weights that decide to reconnect to crappy peers less often. 2007-10-16 02:37:34 +00:00
Charles Kerr 0b04554772 maybe fix crash reported by Lacrocivious in http://pastebin.ca/738142 2007-10-16 02:19:40 +00:00
Charles Kerr 30418e34b8 fix crash reported by John_Clay in http://pastebin.ca/738133 2007-10-16 02:16:57 +00:00
Charles Kerr 8feeb9ee6b when deciding which peers to try to connect to, add some weights to punish peers that don't transfer piece data with us. We'll still give them another, but at longer intervals than better peers get. 2007-10-16 00:55:17 +00:00
Charles Kerr e698756c98 remove unused flags 2007-10-15 20:58:39 +00:00
Charles Kerr efe4847204 new utility (tr_loadFile), and reimplement metainfo's "readtorrent" to use it. 2007-10-15 20:15:34 +00:00
Charles Kerr c65d6a20c3 remove dead code tr_file_stat::completionStatus 2007-10-15 18:45:25 +00:00
Charles Kerr 159f1de576 remove dead code tr_stat::cpStatus 2007-10-15 18:28:49 +00:00
Charles Kerr afff6d08f2 save the tr_torrent::pexDisabled flag in fastresume 2007-10-15 16:35:18 +00:00
Charles Kerr 6eb7edf007 fix choke fibrillation bug in new connections 2007-10-15 16:01:42 +00:00
Mitchell Livingston cc2db392f5 make libtransmission's pex accessor public, and eliminate a redundant variable in Torrent.[mh] 2007-10-14 22:01:55 +00:00
Charles Kerr 57eaa27970 Fix bug that could initiate pex in private torrents. 2007-10-14 17:21:24 +00:00
Charles Kerr d96ed80aa2 (1) fix a bug in torrent creation. (2) fix a bug in torrent paths on startup in gtk 2007-10-14 03:26:13 +00:00
Charles Kerr 38d6b03a8e report a speed of 0 when no peers are connected. 2007-10-13 23:57:13 +00:00
Charles Kerr 4f33a8da42 Try sharing a DH so that we don't spend so many cpu cycles making new ones when we're working through the peers trying to find good ones. 2007-10-13 23:15:43 +00:00
Charles Kerr bd01906f0c more banging on the fastresume-destination-directory thing. this permuation makes the fastresume destination a fallback, to be used only if the client didn't pass in a directory to tr_torrentInit*() 2007-10-13 15:29:15 +00:00
Charles Kerr 4104efbfbf try to get more connected peers to agree to encrypted connections 2007-10-13 15:15:04 +00:00
Charles Kerr 004ade57f0 fix crash-on-adding-new-torrents introduced in r3387 2007-10-13 14:07:08 +00:00
Charles Kerr 3e878aeba9 tweak the debugging messages a bit. 2007-10-13 14:02:10 +00:00
Charles Kerr 9211c57ad2 merge in the parts of peerutils' peer pruning code that still make sense 2007-10-13 13:54:05 +00:00
Charles Kerr 89d511e9dd get fastresume working again (I think) 2007-10-13 04:19:38 +00:00
Charles Kerr 6179809146 break the build so svn users won't corrupt their fastresume files 2007-10-13 04:11:11 +00:00
Charles Kerr 0000a96f78 and, removing a couple of fprintfs 2007-10-13 04:00:50 +00:00
Charles Kerr 05bcd5e01c fix r3379 bug that forced us to recheck the torrents every startup 2007-10-13 03:58:54 +00:00
Charles Kerr ff36475fad Add an option for saving a torrent's destination path in its file. This can be overridden by clients with the `destination' argument in tr_torrentInit*() 2007-10-12 19:45:51 +00:00
Mitchell Livingston 64c5255c8e add Halite to clients 2007-10-12 11:17:38 +00:00
Charles Kerr 00321c4eed Fix crash-on-exit reported by Gimp_ @ http://pastebin.ca/732759 2007-10-11 14:56:50 +00:00
Charles Kerr 89564dc3c2 fix the "swarm speed" bug reported by Gimp_ 2007-10-11 04:17:28 +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 e11999243e add more debugging messages to track down why we're disconnecting from some peers 2007-10-11 03:36:09 +00:00
Charles Kerr 7e0faec4db more debugging messages 2007-10-11 03:12:48 +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 ead1ff5b72 encryption key creation is pretty expensive -- defer creating it until we're sure we actually need it for that peer. 2007-10-11 02:22:17 +00:00
Charles Kerr 23d2f77778 (1) maybe fix the "peer->msgs != NULL" bug reported by Dhruvk and John_Clay (2) remove dead code 2007-10-11 00:09:58 +00:00
Charles Kerr cbaf1b8faa commit more of tiennou's fastpeers patch 2007-10-10 16:39:12 +00:00
Charles Kerr 76aed9200d fix a subtle bug with having two connections to the same peer. 2007-10-10 15:59:59 +00:00
Charles Kerr 696800f369 * fix bug that sent a keepalive message too often 2007-10-10 03:03:09 +00:00
Charles Kerr a9849660f6 * fix bug that incorrectly marked some incoming connections for termination
* strip unnecessary linefeeds out of some debug messages
2007-10-10 02:59:30 +00:00
Charles Kerr 2f46064e33 raise the `numwant' value 2007-10-09 18:29:10 +00:00
Charles Kerr e8d19c5b03 fix stupid bug from yesterday that made uploading difficult. 2007-10-09 05:51:20 +00:00
Charles Kerr 602ee120af fix recent tracker error reported by John_Clay that made it slower to pick up peers 2007-10-09 04:50:10 +00:00
Charles Kerr c88ef608c6 extra paranoia to safeguard against a possible tracker crash 2007-10-09 03:06:54 +00:00
Charles Kerr f96cbd3ec3 * add intltool macros to make it easier to build from svn.
* minor error logging improvement in libtransmission
2007-10-09 02:49:24 +00:00
Charles Kerr e10e44409a fix crash reported by Waldorf in http://pastebin.ca/729980 2007-10-08 19:09:20 +00:00
Charles Kerr 7ff8284976 give trackers more time before timing out the requests. make the `stopping' timeout interval smaller than other intervals so that we don't block for too long during shutdown. 2007-10-08 17:05:39 +00:00
Charles Kerr e176a25922 * fix a bug with uploading encrypted pice data to another peer
* extra sanity tests when uploading data
2007-10-08 16:10:10 +00:00
Charles Kerr 9a79d1e603 the purge flag should take priority over all the other reasons to keep or purge a peer. :p 2007-10-08 01:53:11 +00:00
Charles Kerr e1b447304b fix atom initialization issue with r3320 2007-10-08 01:37:20 +00:00
Charles Kerr 161ff6a7a2 ban peers that feed us too many bad blocks. 2007-10-08 01:31:27 +00:00
Charles Kerr 43a016cdb9 fix minor shutdown bug 2007-10-08 00:56:12 +00:00
Charles Kerr 304f9f7f18 get rid of a confusing error message that describes a harmless situation 2007-10-07 16:25:02 +00:00
Charles Kerr 1014e633ac * don't reuse http connections to trackers. I think this is what caused most of the `no response from tracker X' messages.
* extra safety checks to ensure the last `stopped' message to the tracker is sent on shutdown.
2007-10-07 16:07:19 +00:00
Charles Kerr 568e97d220 recheck the completeness stats after `recheck torrent' 2007-10-07 04:32:37 +00:00
Charles Kerr 5d8f9d8b13 try to connect to peers faster when a torrent is initially started. 2007-10-07 04:14:58 +00:00
Charles Kerr 2381279da6 fix John_Clay's ptrarray.c:201 crash. (maybe.) 2007-10-07 04:14:34 +00:00
Mitchell Livingston 8f7f65388e set properties for new files 2007-10-06 22:24:50 +00:00
Charles Kerr c75f49bc26 * add a per-peer request queue to hold the next 10-15 seconds' worth of requests so that we always have more requests at hand when the current requests start to run low.
* increase the tracker `numwant' variable to grow our peer pool
* bugfixes in cancelling requests.
* make the debug log sexy and readable like uTorrent's ;)
2007-10-06 18:20:52 +00:00
Charles Kerr 6d5182af60 fix potential "recheck torrent" deadlock 2007-10-06 01:43:04 +00:00
Charles Kerr 3a6985195d removed an assertion that depended on valid input from a peer in order to be true. 2007-10-05 05:53:00 +00:00
Charles Kerr b6483cbf3f don't allow duplicate requests to the same peer, even during endgame. (alus) 2007-10-05 00:16:47 +00:00
Charles Kerr 17743d8d04 tweak the `start torrent' code based on feedback from BentMyWookie 2007-10-04 23:47:49 +00:00
Charles Kerr 80979e0240 a little code simplification -- remove unnecessary branches 2007-10-04 20:49:37 +00:00
Charles Kerr 0872b4f40a fix the crash reported by Waldorf and John_Clay 2007-10-04 20:31:19 +00:00
Charles Kerr 53aef0a48c Simplify the tracker/pause/close/recheck/start code. 2007-10-04 19:58:30 +00:00
Charles Kerr 0938cb88d4 dead code removal 2007-10-03 21:03:40 +00:00
Charles Kerr 5f2bd1d950 speed improvements... this is getting me 700 KiB/s (which is near to my speed cap) in the ubuntu torrent test 2007-10-03 19:00:51 +00:00
Charles Kerr 877e2bb86e some more peer tweaks 2007-10-03 18:19:51 +00:00
Charles Kerr a3d1a254d1 minor source code cleanup... 2007-10-03 16:42:43 +00:00
Charles Kerr 3d2e3cfdfb add pass subscription info into the peer-msgs constructor so that we can start getting information immediately 2007-10-03 04:04:34 +00:00
Charles Kerr 0f550043fd fix peer-mgr.c:1092 asset failure reported by Waldorf_ 2007-10-03 02:46:15 +00:00
Charles Kerr 1f1605986c tear out some now-exterraneous code. 2007-10-02 20:55:14 +00:00
Charles Kerr f4988a3f6e tweak the peer manager code a little more. 2007-10-02 19:54:14 +00:00
Charles Kerr 3dbaa7d673 make the peer manager a little greedier w.r.t. keeping connections alive. 2007-10-02 19:25:18 +00:00
Charles Kerr f4901211ca Fix erratic `(int)EVBUFFER_LENGTH( inbuf ) >= byteCount' error 2007-10-02 16:59:56 +00:00
Charles Kerr cdabb1c0b1 clean up the shutdown code a little bit. 2007-10-02 16:12:44 +00:00
Charles Kerr c271cec6a3 work around portability glitch in libevent's headers 2007-10-02 14:58:39 +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 77d7cf76a1 fix looong-standing potential dangling pointer bug reported by BMW 2007-10-02 03:33:17 +00:00
Charles Kerr 6ed2d25af7 threads. gotta love 'em. 2007-10-02 02:59:07 +00:00
Charles Kerr af686b3297 roll back a bug introduced in r3265 2007-10-02 02:01:57 +00:00
Charles Kerr 84ab0092fb some cleanup... remove some dead/obsolete code 2007-10-02 00:05:40 +00:00
Charles Kerr b84305cdf3 more agressive purging of connections that give socket errors 2007-10-01 18:09:59 +00:00
Charles Kerr 4ebe0b563a throttle back how many concurrent connections we make. 2007-10-01 17:51:07 +00:00
Charles Kerr f0562f5947 try to disconnect all the peers when the user hits `pause' 2007-10-01 16:50:51 +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 e4fec9eefd add tr_stat.peersKnown to indicate how many peers exist in the peer `pool' 2007-10-01 15:51:54 +00:00
Charles Kerr cba61802cf remove newly-unused field tr_peer_stat::isConnected 2007-10-01 15:41:42 +00:00
Charles Kerr 1a012b8b87 maybe fix the where-are-the-peers-coming-from bug reported by SoftwareElves, John_Clay, and jahpraiseherb 2007-10-01 15:36:31 +00:00
Charles Kerr 5c11c58113 simplify libT locks now that it's (more-or-less) single-threaded. fix deadlocks. make tr_locks nestable. 2007-10-01 15:17:15 +00:00
Charles Kerr f7e3f85e50 follow BT `best practices' more closely w.r.t. choosing which pieces to download 2007-10-01 14:24:22 +00:00
Charles Kerr 60a983d845 fix bizarre libevent contortion that made valgrind cry 2007-10-01 05:49:23 +00:00
Charles Kerr 9a3c91cad2 ensure TR_PEER_FROM_INCOMING peers get peer atoms. this should fix BentMyWookie's crash. 2007-10-01 05:32:34 +00:00
Charles Kerr 56738f065c fix some memory issues. 2007-10-01 04:12:24 +00:00
Mitchell Livingston 0888fe4f68 remove unneeded line 2007-10-01 03:28:49 +00:00
Charles Kerr b99084e638 more experimenting with how to get good peers 2007-10-01 03:24:52 +00:00
Mitchell Livingston a223b7d6ea fix Bitlet and add new Limewire client id's 2007-10-01 02:50:51 +00:00
Charles Kerr 6bef7def52 tweaks 2007-10-01 00:08:12 +00:00
Charles Kerr 7cc6771318 experimental better peer management. 2007-09-30 23:55:49 +00:00