Commit Graph

70 Commits

Author SHA1 Message Date
Charles Kerr 2b1cf88ea9 fix crash reported by persept 2007-06-30 12:46:45 +00:00
Charles Kerr 781c557e52 use tr_new(), not g_new(). I've been hacking in glib too long 2007-06-29 17:29:02 +00:00
Charles Kerr 59388ed0ba fix some ugliness from last night's hackfest 2007-06-29 17:24:14 +00:00
Charles Kerr 3a73f6790e Fix endgame bug that caused the last 2-3% to drag out forever in recent nightlies. Thanks SoftwareElves 2007-06-29 06:24:55 +00:00
Charles Kerr ab191885b5 revert one of last checkin's changes to better handle low peer situations. Thanks to SoftwareElves for the helpful explanation. 2007-06-29 06:03:54 +00:00
Charles Kerr f0950d7390 lots of performance improvements. fun!
* dynamically resize the request queue on a per-peer basis based on its speed
* fix a huge bug that sabotaged the `swift' performance
* on startup, unchoke peers much sooner
* bump MAX_PEERS and PERCENT_PEER_WANTED
* do a better job of estimating speed on torrents less than 30 seconds old.
* getting an unrecognized extension ID, ignore it instead of stopping the torrent.
2007-06-29 05:45:17 +00:00
Charles Kerr 7e09d157cd Thread safety improvements. Also, stopping/starting/rechecking/etc. torrents no longer blocks the calling thread. Since this a big commit, it will probably create some short-term pain via new bugs. 2007-06-26 18:45:03 +00:00
Charles Kerr 5401979ffa misc cleanup.. ansification; fix my own typos, etc... 2007-06-22 04:30:39 +00:00
Charles Kerr e161544761 adding experimental implementation of Tamilmani's `Swift' tit-for-tat algorithm for testing. To tweak or disable, change the values around line 50 of libtransmission/peer.c 2007-06-21 14:47:26 +00:00
Mitchell Livingston 0256f4616d Merge file selection and torrent creation into the main branch.
The new code for these features is under a new license.
2007-06-18 03:40:41 +00:00
Charles Kerr 3b8d1e13c4 uninteresting minor stuff like adding const. this commit is just to reduce the shear between trunk and what lands in the file-selection branch. 2007-06-09 15:36:46 +00:00
Mitchell Livingston 3d48ed389d swap download and upload activity checks 2007-05-25 21:44:26 +00:00
Mitchell Livingston e5a199d813 set activity when actually uploading 2007-05-25 21:38:24 +00:00
Mitchell Livingston 5441c5e145 define as activity as when uploading/downloading occurs 2007-05-25 21:20:54 +00:00
Mitchell Livingston b4d71e2e9a store date of last activity 2007-05-25 19:14:42 +00:00
Mitchell Livingston 8696495ee2 patch from softwareelves that relaxes the requirements for activity for peers in low peer situations 2007-05-24 20:09:32 +00:00
Mitchell Livingston 913a83ed27 when seeding don't connect to seeders...it's just common sense 2007-05-16 03:05:25 +00:00
Mitchell Livingston 3f2861f0c7 determine upload/download rates the old way, which is not the most accurate way at a few points, but should have a positive overall impact 2007-05-16 02:03:18 +00:00
Josh Elsasser fea458dcb5 I suck at logic, bad. 2007-04-03 18:43:26 +00:00
Josh Elsasser 5035d519cc Don't return a NULL client string when not connected. 2007-04-03 18:43:01 +00:00
Josh Elsasser 0cb6a81077 Don't try to generate a client string for a peer before we have their handshake. 2007-04-03 18:34:55 +00:00
Josh Elsasser 58333068e8 Cache peer client name.
Don't create an 'unknown client' name with nonprintable characters.
2007-04-03 18:22:58 +00:00
Josh Elsasser b8d03e5958 Add API function to disable PEX for a torrent. 2007-03-31 19:19:09 +00:00
Josh Elsasser 40397dd9f2 Unbreak azureus peer protocol.
Add more peer debug messages.
Fix pex interval.
2007-03-28 06:28:34 +00:00
Josh Elsasser 3394f8d2a4 Revert unintended changes. 2007-03-26 19:21:25 +00:00
Josh Elsasser d390c4c871 Don't save or load cached peers for private torrents. 2007-03-26 19:19:33 +00:00
Josh Elsasser 09c87aad84 Merge PEX branch, I hope this works. 2007-03-23 08:28:01 +00:00
Josh Elsasser 5a62e83689 Don't use sprintf, strcpy, or strcat. 2007-03-12 00:04:11 +00:00
Josh Elsasser e9b4fd8aff Do bounds checking on bitfields. 2007-03-05 23:03:38 +00:00
Mitchell Livingston 5d2ae4eb61 simplify options for download limits in inspector with 3 check states: mixed for system defaults, checked for override with limit, and no check for no limit 2007-02-02 17:33:32 +00:00
Eric Petit 706a2ade11 Ugly workaround for the deadlock introduced in [1445] 2007-01-29 12:16:56 +00:00
Josh Elsasser f884a9c4d4 Store the peers's listening port instead of the peer connections's remote port. 2007-01-28 00:24:41 +00:00
Eric Petit 40d8abb68f More simplifications 2007-01-21 19:42:11 +00:00
Eric Petit 2b0e28a004 clean up 2007-01-21 12:38:50 +00:00
Eric Petit 1634595bb0 Compile before you commit 2007-01-21 07:32:31 +00:00
Eric Petit 09c277257b Mark a peer as uploading if we are unchoked *and* interested 2007-01-21 07:27:57 +00:00
Eric Petit 14aa4e5ab0 Officially give up on making libT reentrant, and simplify our code instead 2007-01-21 07:16:18 +00:00
Eric Petit e63e4ab38f Reorganizes a few things, don't accept two connections from the same IP 2007-01-21 06:42:05 +00:00
Eric Petit f0e1e50055 Unused function/field 2007-01-21 05:03:24 +00:00
Eric Petit 93cb1c89ad Make sure we don't malloc(0), and save peers in the cache file even if we haven't successfully connected to them yet 2007-01-20 04:29:33 +00:00
Eric Petit 4a567871bb clean up 2007-01-19 11:19:20 +00:00
Eric Petit 7fc607cf2a When we count the peers we are UL to, just check whether they are chocked 2007-01-19 05:15:22 +00:00
Eric Petit e5e6a8b5df Merge io branch into trunk 2007-01-14 12:00:21 +00:00
Mitchell Livingston becb19f763 global bandwidth limits only apply to transfers that are not set to overide them 2007-01-08 21:53:55 +00:00
Mitchell Livingston ca2c729abd support in libT for individual torrent speed caps 2006-12-27 01:04:30 +00:00
Mitchell Livingston 718a39cd16 libT now stores peer upload rate 2006-12-18 04:56:27 +00:00
Josh Elsasser 343e51abbe Add peer's port to tr_peer_stat_t. 2006-12-18 03:45:22 +00:00
Eric Petit 3f129d8829 Adds progress in tr_peer_stat_t 2006-11-10 04:21:46 +00:00
Eric Petit 9b3802f23a Saves a list of peers when you pause a torrent, and tries to reconnect to them next time you resume it 2006-11-09 04:45:14 +00:00
Josh Elsasser f7c3910a79 Fix possible uint64_t underflow which could cause insanely huge (16,000,000 TB)
upload and/or download totals to be reported to the tracker.
2006-09-26 22:36:04 +00:00