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